package city.spring.modules.checkinfeeDetail.vo;

import city.spring.modules.checkinfeeDetail.entity.CheckinfeeDetailEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 物资视图层数据
 *
 * @author 谢金婷
 * @date 2020/8/5 0017 21:56
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class CheckinfeeDetailVO extends CheckinfeeDetailEntity {
    /**
     * 老人姓名
     */
    private String oldmanName;

    /**
     * 费用类型
     */
    private String monthfeeType;

    /**
     * 私人定制护理费
     */
    private BigDecimal feeCost;

    /**
     * 项目名称
     */
//    private String itemName;
    private String name;

    /**
     * 所属类别
     */
    private String categoryName;

    /**
     * 收费方式
     */
    private String chargeWay;

    /**
     * 项目费用
     */
    private BigDecimal cost;

    /**
     * 备注
     */
    private String describes;

    /**
     * 优惠比例
     */
    private Double discountRatio;

    /**
     * 优惠生效日期
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date discountStartDate;

    /**
     * 优惠失效日期
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date discountEndDate;

    /**
     * 优惠金额
     */
    private BigDecimal discountMoeny;

    /**
     * 折后金额
     */
    private BigDecimal afterDiscount;

    /**
     * 优惠月数
     */
    private Integer discountMonths;
    /**
     * 优惠期限(优惠到期时间)，这个日期前，不包括这天
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date discountPeriod;

    /**
     * 整体优惠： 用来判断优惠是否到期失效 小于0：未到期，有优惠  大于等于0：过期不优惠
     */
    private Integer isInvalid;

    /**
     * 押金
     */
    private BigDecimal depositMount;

    /**
     * 预存余额
     */
    private BigDecimal balanceMount;
    /**
     * 押金名称(本地押金、外地押金)
     */
    private String depositName;

    /**
     * 日期:年月
     */
    private String dateMonth;

    /**
     * 年月日/年月日
     */
    private String specificDate;

}
